The _ssss_aaaa_pppp______cccc_mmmm_dddd field indicates the type of configuration being
done. It may take on one of the following values:
_SSSS_AAAA_PPPP______OOOO_NNNN_EEEE Configure one minor device of a driver.
_SSSS_AAAA_PPPP______RRRR_AAAA_NNNN_GGGG_EEEE Configure a range of minor devices of a driver.
_SSSS_AAAA_PPPP______AAAA_LLLL_LLLL Configure all minor devices of a driver.
_SSSS_AAAA_PPPP______CCCC_LLLL_EEEE_AAAA_RRRR Undo configuration information for a driver.
PPPPaaaaggggeeee 1111
ssssaaaadddd((((7777)))) ssssaaaadddd((((7777))))
The _ssss_aaaa_pppp______mmmm_aaaa_jjjj_oooo_rrrr field is the major device number of the device
to be configured. The _ssss_aaaa_pppp______mmmm_iiii_nnnn_oooo_rrrr field is the minor device
number of the device to be configured. The _ssss_aaaa_pppp______llll_aaaa_ssss_tttt_mmmm_iiii_nnnn_oooo_rrrr
field is used only with the _SSSS_AAAA_PPPP______RRRR_AAAA_NNNN_GGGG_EEEE command, with which a
range of minor devices between _ssss_aaaa_pppp______mmmm_iiii_nnnn_oooo_rrrr and _ssss_aaaa_pppp______llll_aaaa_ssss_tttt_mmmm_iiii_nnnn_oooo_rrrr,
inclusive, are to be configured. The minor fields have no
meaning for the _SSSS_AAAA_PPPP______AAAA_LLLL_LLLL command. The _ssss_aaaa_pppp______nnnn_pppp_uuuu_ssss_hhhh field
indicates the number of modules to be automatically pushed
when the device is opened. It must be less than or equal to
_MMMM_AAAA_XXXX_AAAA_PPPP_UUUU_SSSS_HHHH, defined in _ssss_aaaa_dddd_...._hhhh. It must also be less than or
equal to _NNNN_SSSS_TTTT_RRRR_PPPP_UUUU_SSSS_HHHH, the maximum number of modules that can be
pushed on a stream, defined in the kernel master file. The
field _ssss_aaaa_pppp______llll_iiii_ssss_tttt is an array of module names to be pushed in
the order in which they appear in the list.
When using the _SSSS_AAAA_PPPP______CCCC_LLLL_EEEE_AAAA_RRRR command, the user sets only
_ssss_aaaa_pppp______mmmm_aaaa_jjjj_oooo_rrrr and _ssss_aaaa_pppp______mmmm_iiii_nnnn_oooo_rrrr. This will undo the configuration
information for any of the other commands. If a previous
entry was configured as _SSSS_AAAA_PPPP______AAAA_LLLL_LLLL_,,,, _ssss_aaaa_pppp______mmmm_iiii_nnnn_oooo_rrrr should be set to
zero. If a previous entry was configured as _SSSS_AAAA_PPPP______RRRR_AAAA_NNNN_GGGG_EEEE_,,,,
_ssss_aaaa_pppp______mmmm_iiii_nnnn_oooo_rrrr should be set to the lowest minor device number in
the range configured.
On failure, _eeee_rrrr_rrrr_nnnn_oooo is set to the following value:
_EEEE_FFFF_AAAA_UUUU_LLLL_TTTT _a_r_g points outside the allocated address space.
_EEEE_IIII_NNNN_VVVV_AAAA_LLLL The major device number is invalid, the number
of modules is invalid, or the list of module
names is invalid.
_EEEE_NNNN_OOOO_SSSS_TTTT_RRRR The major device number does not represent a
STREAMS driver.
_EEEE_EEEE_XXXX_IIII_SSSS_TTTT The major-minor device pair is already
configured.
_EEEE_RRRR_AAAA_NNNN_GGGG_EEEE The command is _SSSS_AAAA_PPPP______RRRR_AAAA_NNNN_GGGG_EEEE and _ssss_aaaa_pppp______llll_aaaa_ssss_tttt_mmmm_iiii_nnnn_oooo_rrrr is
not greater than _ssss_aaaa_pppp______mmmm_iiii_nnnn_oooo_rrrr, or the command is
_SSSS_AAAA_PPPP______CCCC_LLLL_EEEE_AAAA_RRRR and _ssss_aaaa_pppp______mmmm_iiii_nnnn_oooo_rrrr is not equal to the
first minor in the range.
_EEEE_NNNN_OOOO_DDDD_EEEE_VVVV The command is _SSSS_AAAA_PPPP______CCCC_LLLL_EEEE_AAAA_RRRR and the device is not
configured for autopush.
_EEEE_NNNN_OOOO_SSSS_RRRR An internal autopush data structure cannot be
allocated.
_SSSS_AAAA_DDDD______GGGG_AAAA_PPPP Allows any user to query the _ssss_aaaa_dddd driver to get the autopush
configuration information for a given device. _a_r_g points to
a _ssss_tttt_rrrr_aaaa_pppp_uuuu_ssss_hhhh structure as described in the previous command.
PPPPaaaaggggeeee 2222
ssssaaaadddd((((7777)))) ssssaaaadddd((((7777))))
The user should set the _ssss_aaaa_pppp______mmmm_aaaa_jjjj_oooo_rrrr and _ssss_aaaa_pppp______mmmm_iiii_nnnn_oooo_rrrr fields of
the _ssss_tttt_rrrr_aaaa_pppp_uuuu_ssss_hhhh structure to the major and minor device
numbers, respectively, of the device in question. On
return, the _ssss_tttt_rrrr_aaaa_pppp_uuuu_ssss_hhhh structure will be filled in with the
entire information used to configure the device. Unused
entries in the module list will be zero-filled.
On failure, _eeee_rrrr_rrrr_nnnn_oooo is set to one of the following values:
_EEEE_FFFF_AAAA_UUUU_LLLL_TTTT _a_r_g points outside the allocated address space.
_EEEE_IIII_NNNN_VVVV_AAAA_LLLL The major device number is invalid.
_EEEE_NNNN_OOOO_SSSS_TTTT_RRRR The major device number does not represent a
STREAMS driver.
_EEEE_NNNN_OOOO_DDDD_EEEE_VVVV The device is not configured for autopush.
_SSSS_AAAA_DDDD______VVVV_MMMM_LLLL Allows any user to validate a list of modules (for example,
to see if they are installed on the system). _a_r_g is a
pointer to a _ssss_tttt_rrrr______llll_iiii_ssss_tttt structure with the following members: